project(redgpu_f2)
cmake_minimum_required(VERSION 2.8.12)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c++17")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
include_directories(
  src/openframeworks
  src/openframeworks/3d
  src/openframeworks/app
  src/openframeworks/communication
  src/openframeworks/events
  src/openframeworks/gl
  src/openframeworks/graphics
  src/openframeworks/math
  src/openframeworks/sound
  src/openframeworks/types
  src/openframeworks/utils
  src/openframeworks/video
  src/glew
  src/glew/include
  src/libtess2
  src/libtess2/include
  src/boost
  src/boost/include
  src/utf8cpp
  src/utf8cpp/include
  src/glm
  src/glm/include
  src/json
  src/json/include
  src/pugixml
  src/pugixml/include
  src/cairo
  src/cairo/include
  src/cairo/include/cairo
  addons/ofxAssimpModelLoader/libs/assimp/include
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/examples
  ofxaddons/ofxFBX/src
  ofxaddons/ofxFBX/src/FBXSource
  ofxaddons/ofxFBX/libs/libfbxsdk_2019.5/include
  glfw/include
)
add_library(redgpu_f2 SHARED
  redgpu_f2.cpp
  addons/ofxAssimpModelLoader/src/ofxAssimpAnimation.cpp
  addons/ofxAssimpModelLoader/src/ofxAssimpMeshHelper.cpp
  addons/ofxAssimpModelLoader/src/ofxAssimpModelLoader.cpp
  addons/ofxAssimpModelLoader/src/ofxAssimpTexture.cpp
  ofxaddons/ofxFBX/src/ofxFBXAnimation.cpp
  ofxaddons/ofxFBX/src/ofxFBXBone.cpp
  ofxaddons/ofxFBX/src/ofxFBX.cpp
  ofxaddons/ofxFBX/src/ofxFBXMesh.cpp
  ofxaddons/ofxFBX/src/ofxFBXMeshMaterial.cpp
  ofxaddons/ofxFBX/src/ofxFBXNode.cpp
  ofxaddons/ofxFBX/src/ofxFBXNurbsCurve.cpp
  ofxaddons/ofxFBX/src/ofxFBXSkeleton.cpp
  ofxaddons/ofxFBX/src/FBXSource/GetPosition.cxx
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcBone.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcCluster.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcMesh.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcMeshMaterial.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcNode.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcNurbsCurve.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcPose.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcScene.cpp
  ofxaddons/ofxFBX/src/FBXSource/ofxFBXSrcSkeleton.cpp
  ofxaddons/ofxFBX/libs/libfbxsdk_2019.5/include/Common/AnimationUtility.cxx
  ofxaddons/ofxFBX/libs/libfbxsdk_2019.5/include/Common/Common.cxx
  ofxaddons/ofxFBX/libs/libfbxsdk_2019.5/include/Common/GeometryUtility.cxx
  ofxaddons/ofxFirstPersonCamera/src/ofxFirstPersonCamera.cpp
  ofxaddons/ofxManipulator/src/ofxManipulator.cpp
  ofxaddons/ofxRaccoonImGui/libs/cimgui-1.89.9-44769f63d/cimgui.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/examples/imgui_impl_glfw.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/examples/imgui_impl_opengl2.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/examples/imgui_impl_opengl3.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/imgui.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/imgui_demo.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/imgui_draw.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/imgui_widgets.cpp
  ofxaddons/ofxRaccoonImGui/libs/imgui-1.89.9-1d8e48c16/imgui_tables.cpp
  ofxaddons/ofxRaccoonImGui/src/ofxRaccoonImGui.cpp
  ofxaddons/ofxPostProcessing/src/BleachBypassPass.cpp
  ofxaddons/ofxPostProcessing/src/BloomPass.cpp
  ofxaddons/ofxPostProcessing/src/ContrastPass.cpp
  ofxaddons/ofxPostProcessing/src/ConvolutionPass.cpp
  ofxaddons/ofxPostProcessing/src/DofAltPass.cpp
  ofxaddons/ofxPostProcessing/src/DofPass.cpp
  ofxaddons/ofxPostProcessing/src/EdgePass.cpp
  ofxaddons/ofxPostProcessing/src/FakeSSSPass.cpp
  ofxaddons/ofxPostProcessing/src/FxaaPass.cpp
  ofxaddons/ofxPostProcessing/src/GodRaysPass.cpp
  ofxaddons/ofxPostProcessing/src/HorizontalTiltShifPass.cpp
  ofxaddons/ofxPostProcessing/src/HsbShiftPass.cpp
  ofxaddons/ofxPostProcessing/src/KaleidoscopePass.cpp
  ofxaddons/ofxPostProcessing/src/LimbDarkeningPass.cpp
  ofxaddons/ofxPostProcessing/src/LUTPass.cpp
  ofxaddons/ofxPostProcessing/src/NoiseWarpPass.cpp
  ofxaddons/ofxPostProcessing/src/PixelatePass.cpp
  ofxaddons/ofxPostProcessing/src/PostProcessing.cpp
  ofxaddons/ofxPostProcessing/src/RenderPass.cpp
  ofxaddons/ofxPostProcessing/src/RGBShiftPass.cpp
  ofxaddons/ofxPostProcessing/src/RimHighlightingPass.cpp
  ofxaddons/ofxPostProcessing/src/SSAOPass.cpp
  ofxaddons/ofxPostProcessing/src/ToonPass.cpp
  ofxaddons/ofxPostProcessing/src/VerticalTiltShifPass.cpp
  ofxaddons/ofxPostProcessing/src/ZoomBlurPass.cpp
  ofxaddons/ofxPostProcessingExtra/GenericPass.cpp
)
set_property(TARGET redgpu_f2 PROPERTY POSITION_INDEPENDENT_CODE ON)
